The physical elements in a packet-based data communication system commonly include multi-port units such as switches and routers. Such units are commonly and conveniently manufactured with a fixed plurality of ports by means of which the units can be connected by way of appropriate transmission links (such as cables or optical fibres) to other units or user terminals. In order to provide greater versatility in constructing networks while minimising the number of different sizes of units that need to be deployed it is known to render the units ‘stackable’ by which is meant that a multiplicity of them can be interconnected to form effectively a single controllable entity. It is customary to make such units physically stackable in a column although this physical aspect of the term is not essential either to the meaning of ‘stackable’ or to the present invention.
In order to provide intercommunication between the units, so that for example packets received at any of the ordinary ports (commonly termed ‘front panel’ ports) can be forwarded from a port or ports on another unit or units, depending on the addressing of the packets and the nature of them, it is customary to connect stacked units together by means of a cascade, which is the term used for the communication links and associated control functions by means of which packets are transmitted between the units in the stack.
The design and organisation of a cascade are attended by some considerable complexity.
Although very simple cascades can be constituted by means of ordinary communication links between ports on a stack of similar or compatible devices, a variety of operational desiderata or network constraints require a cascade connection to be rather more sophisticated and produce greater difficulties in design. For example, if a high performance cascade connection is to be maintained while providing fair access to the cascade connection for all the units in the stack, it is a practical desirability for the conveyance of certain control or status information to the all the units of the stack so that, for example, an arbitration protocol may be observed. Such an arbitration protocol usually requires such data as the number of units in the stack and preferably also some identification number for each of those units. Furthermore, it is a desirable feature of a cascaded stack that notwithstanding the powering-down or failure of one of the units in the stack, it can continue to operate in respect of the remaining units in the stack. A similar desirable feature is the accommodation of ‘hot’ insertion or swapping of units in the stack.
To some extent information in respect of the stack may be accommodated within packets which are forwarded onto the cascade. Examples are disclosed in prior applications for O'Keeffe et al, Ser. No. 09/562,131 filed 1 May 2000 and O'Keeffe et al, Ser. No. 09/668,339 filed 25 Sep. 2000, both commonly assigned herewith. These examples allow for the incorporation within a packet header of fields that identify which of the units have ports that are members of a trunked connection to the stack. However, the inclusion of control or status data relating to the units within packet headers is generally inconvenient if at all feasible.
Donoghue et al Ser. No. 10/677,738 filed 8 Feb. 2002 and commonly assigned herewith discloses the provision in each unit of stack cascade control logic which communicates control and status data to other units of the stack by means of control frames exchanged over point-to-point half-duplex control links between a unit and each of the next preceding and next succeeding units in a cascaded stack. The cascade control logic in each unit is organised so that in one (‘up’) direction it is a master and in the other (‘down’) direction it is a slave in respect of the control path. Status information represented by the control frames can be used to control a packet-switching engine to provide self-healing of a data path in the cascade.
Although the automatic numbering process is useful in the initial formation of a stack, the renumbering of units when a stack is reformed or augmented is not necessarily desirable. Other disadvantages of the earlier system include the provision of cascade connections as both a ‘down’ link and an ‘up’ link, and a need to employ a special cable for a ‘resilient’ connection, i.e. from the ‘top’ to the ‘bottom’ of the stack.